﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;


namespace Admin.NET.Application.Entity;

/// <summary>
/// 商家实体类
/// </summary>
[SugarTable("base_shop", "商家实体类")]
public class ShopEntity : EntityBase {
    /// <summary>
    /// 商家名称。
    /// </summary>
    [SugarColumn(ColumnDescription = "商家名称", Length = 100, IsNullable = false)]
    public string Name { get; set; }

    /// <summary>
    /// 商家编码。
    /// </summary>
    [SugarColumn(ColumnDescription = "商家编码", Length = 16, IsNullable = true)]
    public string Code { get; set; }

    /// <summary>
    /// 联系电话集合
    /// </summary>
    [SugarColumn(ColumnDescription = "联系电话", Length = 200, IsNullable = true)]
    public string PhoneNumbers { get; set; }
    /// <summary>
    /// 电子邮箱地址。
    /// </summary>
    [SugarColumn(ColumnDescription = "电子邮箱", Length = 100, IsNullable = true)]
    public string Email { get; set; }
    /// <summary>
    /// 商家logo地址
    /// </summary> 
    [SugarColumn(ColumnDescription = "商家logo地址", Length = 255, IsNullable = true)]
    public string Logo { get; set; } 

    /// <summary>
    /// 商家所在省份。
    /// </summary>
    [SugarColumn(ColumnDescription = "省份", Length = 50, IsNullable = true)]
    public string Province { get; set; }

    /// <summary>
    /// 商家所在城市。
    /// </summary>
    [SugarColumn(ColumnDescription = "城市", Length = 50, IsNullable = true)]
    public string City { get; set; }

    /// <summary>
    /// 详细地址。
    /// </summary>
    [SugarColumn(ColumnDescription = "详细地址", Length = 200, IsNullable = true)]
    public string Address { get; set; }

    /// <summary>
    /// 营业执照编号。
    /// </summary>
    [SugarColumn(ColumnDescription = "营业执照编号", Length = 50, IsNullable = true)]
    public string BusinessLicenseNo { get; set; }

    /// <summary>
    /// 注册时间。
    /// </summary>
    [SugarColumn(ColumnDescription = "注册时间", IsNullable = true)]
    public DateTime RegisterTime { get; set; } = DateTime.Now;

    /// <summary>
    /// 商家状态（是否启用）。
    /// </summary>
    [SugarColumn(ColumnDescription = "是否启用")]
    public bool IsEnabled { get; set; } = true;
    /// <summary>
    /// 商家评分，范围通常为 0 到 5。
    /// </summary>
    [SugarColumn(ColumnDescription = "评分（0-5）", IsNullable = true)]
    public decimal Rating { get; set; } = 0;

    /// <summary>
    /// 营业时间，例如："09:00-18:00"。
    /// </summary>
    [SugarColumn(ColumnDescription = "营业时间", Length = 50, IsNullable = true)]
    public string BusinessHours { get; set; }

    /// <summary>
    /// 人均消费金额。
    /// </summary>
    [SugarColumn(ColumnDescription = "人均消费", IsNullable = true)]
    public decimal? AverageCost { get; set; }

    /// <summary>
    /// 商家标签。
    /// </summary>
    [SugarColumn(ColumnDescription = "商家标签", Length = 100, IsNullable = true)]
    public string TagsJson { get; set; }

    /// <summary>
    /// 商家分类（如“美食”）。
    /// </summary>
    [SugarColumn(ColumnDescription = "商家分类", Length = 50, IsNullable = true)]
    public string Category { get; set; }

    /// <summary>
    /// 坐标位置。
    /// </summary>
    [SugarColumn(ColumnDescription = "坐标位置", Length = 50, IsNullable = true)]
    public string Position { get; set; }
    /// <summary>
    /// 商家的图片地址（URL）。
    /// </summary>
    [SugarColumn(ColumnDescription = "商家图片", Length = 2000, IsNullable = true)]
    public string ImageUrls { get; set; }

    /// <summary>
    /// 描述信息。
    /// </summary>
    [SugarColumn(ColumnDescription = "描述", Length = 200, IsNullable = true)]
    public string Description { get; set; }

    /// <summary>
    /// 商品的网页描述信息。
    /// </summary> 
    [SugarColumn(ColumnDescription = "网页描述", Length = 2000, IsNullable = true)]
    public string HtmlContent { get; set; }
    /// <summary>
    /// 浏览量
    /// </summary>
    [SugarColumn(ColumnDescription = "浏览量", IsNullable = true)]
    public int? ViewCount { get; set; }
}
